1. Field of the Invention
The present invention relates to a stream jump in a digital TV system for a personal video recorder (PVR), more particularly, to a digital TV system in which a stream jump can be made without an error of a continuity counter (CC) value, and a method for making a stream jump therein.
2. Background of the Related Art
Recently, amid the full scale start of digital TV (DTV) broadcasting, and spreading of DTV receivers, DTVs with various attached functions are on stage for meeting various users' demands.
As one of the DTV attached functions that are paid attention, the PVR function provides various reproducing function by using large capacity storage medium. As the storage medium for the PVR, a hard disk is employed, which in general provide a large capacity at a low price enough to store a long time of TV program.
Basically, the PVR has no great difference from present VCR (Video Cassette Recorder) in view of providing a function for recording a program. However, since the PVR is based on a digital broadcasting signal, the PVR has features of the digital broadcasting, such as simultaneous recording of different programs, and individual program watching suit to own needs regardless of broadcasting time table of the broadcasting station. Moreover, different from the present analog VCR tape, as audio, and video information is recorded in digital data, the PVR assures a picture quality of no information loss, even after countless times of recording and reproduction. Furthermore, the PVR has a time shift function which permits the user simultaneous storage, and reproduction of a program the user watches at the present time.
One of merits of the PVR is that the PVR provides a stream jump function, such as instant replay, advertisement skip, section repetition, fast forward, fast rewind, and the like during watching a program.
Meanwhile, for more effective signal transmission, the digital broadcasting digitizes, and compresses various audio, video, and other attached information, and converts into a transport stream by using a multiplexer before transmission. The video is compressed according the MPEG-2 (Moving Picture Experts Group-2) algorithm, the transport stream is transmitted in packet units each with a fixed size of 188 bytes (called as TP), and decoded in the TP units at a receiver side.
The MPEG-2 handles images in units of ‘picture’ (one full screen of an image), when a frame, or a field may be allocated to the picture. That is, when the frame is allocated to the picture, it is called as a frame structure, and when the field is allocated to the picture, it is called as a field structure.
There are three picture types I, P, B in terms of pictures the MPEG-2 defines. The I picture is one in which simply only the picture is subjected to DCT (Discrete Cosine Transform) for coding without motion compensation, and the P picture is one in which motion compensation is made based on an I, or other P picture, and remained difference is subjected to DCT. The B (Birdirectionally predicted-coded) is one in which though the motion compensation is made the same with the P picture, different from the P picture, the motion compensation is made from two pictures in front and rear of a time axis. Eventually, a picture sequence of the MPEG-2 has a structure like ----, B, B, I, B, B, P, B, B, P, B, B, ----, wherein, in view of a sequence of display, pictures starting from the B picture two pictures ahead of the I picture to the P picture ahead of the next I picture is called as a GOP (Group Of Pictures). However, referring to FIG. 1, in view of a transmission sequence, the GOP is from an I picture to a picture ahead of the next I picture. When it is assumed that a number of pictures in the GOP is represented with ‘N’, and a number of pictures between I and P pictures, or P and P pictures is represent with ‘M’, the ‘N’ and ‘M’ values vary within one sequence. A sequence header may be inserted in a starting position of every GOP, and a picture header is inserted in a picture starting position of every picture in the GOP. That is, the picture consists of the picture header and a payload, wherein, in general, picture header information is loaded on one or two TPs, including information required for decoding data of a payload portion, and actual data of the payload portion is loaded on more than a few tens of TPs.
The MPEG-2 transport stream consists of packets each with 188 bytes, each of which consists of a packet header with 4 bytes, and a payload of 184 bytes. The first byte of the packet header is a synchronization byte, having a value of 0′47 for all the packets. The packet header has a PID (Packet Identifier) number for identifying a signal on the payload. The payload has a video PES (Packetized Elementary Stream), an audio PES, and a PSI (Program Specific Information) PES. That is, a PID is provided to each video PES, each audio PES, and each PSI. Therefore, once the header information of a TP is detected, it can be known whether a data at the payload of the TP is the video PES, the audio PES, or the PSI PES. The PSI has various information provided for convenience of viewers from the broadcasting station, and video and audio PID numbers of programs of the broadcasting station.
Therefore, when the viewer intends to watch a broadcasting of a particular broadcasting station, the TV receiver detects the audio, and video PID numbers for a selected broadcasting with reference to the PSI, and a demultipixer extracts only a video signal and an audio signal having the particular PID, thereby permits the watcher to watch the video, and the audio.
There is also a CC (Continuity Counter) region of 4 bits at an end part of the packet header for detecting a transmission error within the PID, where, as shown in FIG. 3, numerals starting from 0 to 15 are recorded in a progressively increasing order.
If a TP is lost in the middle of transmission, since there will be a gap in the CC values which are to progressively increase, a decoded can sense an error in reception of TP, according to which an appropriate action can be taken. For an example, if the CCs are the same for two successive TPs having the same PID, it is regarded as duplication of packets, and the TP received presently is discarded. If the CC values have a difference two or more than two, it is regarded as a packet loss, the presently received TP is not decoded, but discarded, and the decoding starts from the next TP.
FIG. 4 illustrates a block diagram of a related art DTV with a PVR function, schematically.
Referring to FIG. 4, there is a tuner 401 for selecting a RF signal on a particular channel from signals from broadcasting stations, converting an IF signal, and providing to a demodulator 402, and the demodulator 402 demodulates and digitizes the IF signal of the particular channel, and provides the IF signal in a transport stream (TS). The TS is provided to a buffer 406 for display, and to a PID filer 403 for storage in a storage medium 405.
The TS stored in the buffer 406 is provided to an A/V decoder 407, and the A/V decoder 407 splits an audio stream and a video stream from the transport stream having the audio stream and the video stream multiplexed therein, decoded at respective decoders, and presented to speakers and TV screen, respectively.
When it is intended to record a broadcasting signal in the storage medium 405, the transport stream is not decoded, but recorded in the storage medium 405 directly through the PID filter 403 and a time stamp module 404. Thereafter, when it is intended to reproduce the broadcasting signal recorded on the storage medium 405, the transport stream stored in the storage medium 405 is respectively audio, and video decoded in the A/V decoder 407 through the time stamp module 404, and the buffer 406, and presented to the speakers and the TV screen, respectively.
The PID filter 403 filters packets having video PIDs and audio PIDs of the program to be stored from TPs demodulated by using PID information in the header regions of the TPs, and provides to the time stamp module 404.
The time stamp module 404 inserts time stamps to the filtered video and audio transport packets for marking received times, and records on the storage medium 405. In reproduction, the time stamp module 404 transmits reproduced TPs to the A/V decoder 407 through the buffer 406 while sustaining an exact bit rate with reference to the time stamp on the TP reproduced from the storage medium 405. This is for prevention of a decoding error caused by overflow, or underflow of the decoder buffer. In this instance, the time stamp is removed from the reproduced TP, and transmitted to the buffer 406. That is, the time stamp is only referred to in the reproduction.
The time stamp is added to the TP to be recorded on the storage medium 405 for making a reproduction rate in a later reproduction the same with the time of initial transmission.
A related art method for making a stream jump in a digital TV with a PVR function will be reviewed.
In general, a method for making a stream jump in an MPEG-2 stream is a GOP (Group Of Picture) skip method, i.e., detecting a picture index of each GOP, and shifting a reproducing position to a GOP having desired information, i.e., a target GOP. As the digital broadcasting is the MPEG-2 stream too, the same method is applied to the PVR.
FIG. 5 illustrates a flow chart showing the steps of a related art method for making a stream jump, and FIG. 6 illustrates an example of an actual stream jump.
That is, a user inputs a stream jump order, such as instant replay, advertisement skip, section repetition, fast forward, fast rewind, and the like through a key input part 409 like a remote controller (S501), a stream jump controlling part 408 searches the storage medium 405 for the target position GOP the user, or the system designates (S502). Then, the stream jump controlling part 408 starts reproduction from a TP at a starting position of a target GOP (S503).
The target position the stream jump is to be made thereto may be designated by the user, or the system. For an example, if the stream jump order is the section repetition, the target position the jump is to be made thereto is designated by the user. However, if the stream jump order is fast forward, or fast rewind, the target position the jump is to be made thereto is designated by using information on a preset value and the present position.
In the meantime, before decoding the reproduced TP, the A/V decoder 407 compares a CC value added to the reproduced TP to a CC value added to the TP at a position before making the stream jump (S504), for checking continuity of the CC value (S505). The continuity means a sequence of a progressively increasing numerals starting from, for an example, 0 to 15. Therefore, CC values of two TPs have a continuity, if, for an example, the CC value of the last TP is greater by ‘1’ than a CC value of a prior TP.
For an example, referring to FIGS. 3 and 6, it is assumed that a stream jump order is given, when the present reproduction position is at a video TP 210 with a CC value of ‘1’ given thereto. And, the target the stream jump is to be made thereto is a GOP2.
Then, by the user's stream jump order, the GOPs are searched, for a GOP having information meeting the order, i.e., a target GOP (GOP2). Since the GOPs have picture indices different from one another for making each of the GOP distinctive, the target GOP (GOP2) can be found with easy by using the picture indices.
Then, the reproducing position of the PVR is shifted to a TP at a starting position of the required GOP (GOP 2) (210→220), and a scene the user desires is reproduced.
If the two CC values have continuity, for an example, as shown in FIG. 3, if a CC value added to the video TP 210 prior to a stream jump is ‘1’, and a CC value added to the video TP 220 at a starting position of the target GOP is ‘2’, the reproducing video TP 220 is decoded and displayed regularly at the A/V decoder 407 (S506).
In the meantime, a reproducing position is shifted from on TP to another TP, which have the same PIDs, for making a stream jump, a gap of CC values occurs at a probability of 15/16. Therefore, if the steam jump is made without an appropriate disposal of the CC value gap, a general decoder produces a decoding error, and a broken picture is displayed. For an example, as shown in FIG. 3, if a CC value added to the video TP 210 prior to a stream jump is ‘1’, and a CC value added to the video TP 220 at a starting position of the target GOP is ‘6’, there is a discontinuity occurred between the two CC values of the two TPs. Then, the A/V decoder 407 discards the reproduced video TP 220 without decoding, and the required decoding and display is made starting from the next TP (S507).
Since the discarded video TP is a TP at a starting position of the GOP, the TP has important information, such as the picture header information. The A/V decoder 407 can not decode the picture if the A/V decoder 407 is not provided with the picture header information, but a decoding error is produced. Accordingly, a regular display can not be made, but a broken picture is displayed. Moreover, if there is an error at a picture in a particular GOP, the decoding may not be done properly, resulting to have broken pictures for the GOP.
Thus, the related art method for making a stream jump has a problem of broken picture caused by shifting to a reproducing position without taking a decoder performance for the CC value of each TP into account, to produce a decoding error at a discontinuity of the CC values.